import defaultSettings from '../../config/defaultSettings';

const updateColorWeak = colorWeak => {
    const root = document.getElementById('root');

    if (root) {
        root.className = colorWeak ? 'colorWeak' : '';
    }
};

const SettingModel = {
    namespace: 'settings',
    state: defaultSettings,
    reducers: {
        changeSetting(state = defaultSettings, { payload }) {
            const { colorWeak, contentWidth } = payload;

            if (state.contentWidth !== contentWidth && window.dispatchEvent) {
                window.dispatchEvent(new Event('resize'));
            }

            updateColorWeak(!!colorWeak);
            return { ...state, ...payload };
        },
    },
};
export default SettingModel;
